const gulp = require("gulp");
const connect=require("gulp-connect");
const sass = require("gulp-sass")(require("sass"));
// copyHtml任务
gulp.task("copyHtml",done=>{
    gulp.src("xml/*.html").pipe(gulp.dest("dist")).pipe(connect.reload());//copy任务自动更新
    done();
})
// sass转换css任务
gulp.task("sass",done=>{
    gulp.src("sass/*.scss")
    .pipe(sass({
        outputStyle: "expanded"
      }))
    .pipe(gulp.dest("dist/css")).pipe(connect.reload());
    done();
})
// gulp.task("sass", done => {
//     gulp.src("sass/*.scss")
//       .pipe(sourcemaps.init())
//       .pipe(sass({
//         outputStyle: "expanded"
//       }))
//       .pipe(sourcemaps.write("./"))
//       .pipe(gulp.dest("dist/css")).pipe(connect.reload());
//     done();
//   })
//监听任务
gulp.task("watch",done=>{
    //触发一系列copyhtml任务
    gulp.watch("xml/*.html",gulp.series("copyHtml"));
    gulp.watch("sass/*.scss",gulp.series("sass"));
    done();
})
//创建本地服务器(也是任务)，自动更新
gulp.task("server",done=>{
    connect.server({
        root:"dist",
        //自动更新
        livereload:true
    })
    done();
    
})

//默认任务，按（串行/并行）顺序执行任务
//先创建任务。同步源码与dist 执行一次copy
gulp.task("bulid",gulp.parallel("copyHtml","sass"));

// 再按顺序执行服务器与监听
gulp.task("default",gulp.series("server","watch"));